package com.br.estoque.bean;

import java.io.Serializable;
import java.util.Date;

public class Material implements Serializable {
	private static final long serialVersionUID = 1L;

	private Integer codigo;
	private String numeroPatrimonio;
	private Marca marca;
	private Modelo modelo;
	private Tipo tipo;
	private LocalEquipamento localEquipamento;
	private Situacao situacao;
	private String observacao;
	
	private Date dataEntrada;
	private Date dataAlteracao;
	
	public Material(){
		setMarca(new Marca());
		setModelo(new Modelo());
		setTipo(new Tipo());
		setLocalEquipamento(new LocalEquipamento());
	}
	
	public Integer getCodigo() {
		return codigo;
	}
	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}
	
	public String getNumeroPatrimonio() {
		return numeroPatrimonio;
	}

	public void setNumeroPatrimonio(String numeroPatrimonio) {
		this.numeroPatrimonio = numeroPatrimonio;
	}

	public Marca getMarca() {
		return marca;
	}
	public void setMarca(Marca marca) {
		this.marca = marca;
	}
	public Modelo getModelo() {
		return modelo;
	}
	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}
	public Tipo getTipo() {
		return tipo;
	}
	public void setTipo(Tipo tipo) {
		this.tipo = tipo;
	}
	public LocalEquipamento getLocalEquipamento() {
		return localEquipamento;
	}
	public void setLocalEquipamento(LocalEquipamento localEquipamento) {
		this.localEquipamento = localEquipamento;
	}
	public Situacao getSituacao() {
		return situacao;
	}
	public void setSituacao(Situacao situacao) {
		this.situacao = situacao;
	}
	public String getObservacao() {
		return observacao;
	}
	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}
	public Date getDataEntrada() {
		return dataEntrada;
	}
	public void setDataEntrada(Date dataEntrada) {
		this.dataEntrada = dataEntrada;
	}
	public Date getDataAlteracao() {
		return dataAlteracao;
	}
	public void setDataAlteracao(Date dataAlteracao) {
		this.dataAlteracao = dataAlteracao;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Material other = (Material) obj;
		if (codigo == null) {
			if (other.codigo != null)
				return false;
		} else if (!codigo.equals(other.codigo))
			return false;
		return true;
	}
	@Override
	public String toString() {
		return "Material [codigo=" + codigo + ", numeroPatrimonial="
				+ numeroPatrimonio + ", marca=" + marca + ", modelo=" + modelo
				+ ", tipo=" + tipo + ", localEquipamento=" + localEquipamento
				+ ", situacao=" + situacao + ", observacao=" + observacao
				+ ", dataEntrada=" + dataEntrada + ", dataAlteracao="
				+ dataAlteracao + "]";
	}
	
	
	
}